home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / swingall.jar / javax / swing / plaf / basic / BasicGraphicsUtils.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-07-15  |  4.7 KB  |  197 lines

  1. package javax.swing.plaf.basic;
  2.  
  3. import java.awt.Color;
  4. import java.awt.Component;
  5. import java.awt.Container;
  6. import java.awt.Dimension;
  7. import java.awt.Font;
  8. import java.awt.FontMetrics;
  9. import java.awt.Graphics;
  10. import java.awt.Insets;
  11. import java.awt.Rectangle;
  12. import javax.swing.AbstractButton;
  13. import javax.swing.Icon;
  14. import javax.swing.JComponent;
  15. import javax.swing.SwingUtilities;
  16.  
  17. public class BasicGraphicsUtils {
  18.    private static final Insets GROOVE_INSETS = new Insets(2, 2, 2, 2);
  19.    private static final Insets ETCHED_INSETS = new Insets(2, 2, 2, 2);
  20.  
  21.    public static void drawBezel(Graphics var0, int var1, int var2, int var3, int var4, boolean var5, boolean var6, Color var7, Color var8, Color var9, Color var10) {
  22.       Color var11 = var0.getColor();
  23.       var0.translate(var1, var2);
  24.       if (var5) {
  25.          if (var6) {
  26.             var0.setColor(var8);
  27.             var0.drawRect(0, 0, var3 - 1, var4 - 1);
  28.          }
  29.  
  30.          var0.setColor(var7);
  31.          var0.drawRect(1, 1, var3 - 3, var4 - 3);
  32.       } else {
  33.          if (var6) {
  34.             var0.setColor(var8);
  35.             var0.drawRect(0, 0, var3 - 1, var4 - 1);
  36.             var0.setColor(var10);
  37.             var0.drawLine(1, 1, 1, var4 - 3);
  38.             var0.drawLine(2, 1, var3 - 3, 1);
  39.             var0.setColor(var9);
  40.             var0.drawLine(2, 2, 2, var4 - 4);
  41.             var0.drawLine(3, 2, var3 - 4, 2);
  42.             var0.setColor(var7);
  43.             var0.drawLine(2, var4 - 3, var3 - 3, var4 - 3);
  44.             var0.drawLine(var3 - 3, 2, var3 - 3, var4 - 4);
  45.             var0.setColor(var8);
  46.             var0.drawLine(1, var4 - 2, var3 - 2, var4 - 2);
  47.             var0.drawLine(var3 - 2, var4 - 2, var3 - 2, 1);
  48.          } else {
  49.             var0.setColor(var10);
  50.             var0.drawLine(0, 0, 0, var4 - 1);
  51.             var0.drawLine(1, 0, var3 - 2, 0);
  52.             var0.setColor(var9);
  53.             var0.drawLine(1, 1, 1, var4 - 3);
  54.             var0.drawLine(2, 1, var3 - 3, 1);
  55.             var0.setColor(var7);
  56.             var0.drawLine(1, var4 - 2, var3 - 2, var4 - 2);
  57.             var0.drawLine(var3 - 2, 1, var3 - 2, var4 - 3);
  58.             var0.setColor(var8);
  59.             var0.drawLine(0, var4 - 1, var3 - 1, var4 - 1);
  60.             var0.drawLine(var3 - 1, var4 - 1, var3 - 1, 0);
  61.          }
  62.  
  63.          var0.translate(-var1, -var2);
  64.          var0.setColor(var11);
  65.       }
  66.  
  67.    }
  68.  
  69.    public static void drawDashedRect(Graphics var0, int var1, int var2, int var3, int var4) {
  70.       for(int var5 = var1; var5 < var1 + var3; var5 += 2) {
  71.          var0.drawLine(var5, var2, var5, var2);
  72.          var0.drawLine(var5, var2 + var4 - 1, var5, var2 + var4 - 1);
  73.       }
  74.  
  75.       for(int var6 = var2; var6 < var2 + var4; var6 += 2) {
  76.          var0.drawLine(var1, var6, var1, var6);
  77.          var0.drawLine(var1 + var3 - 1, var6, var1 + var3 - 1, var6);
  78.       }
  79.  
  80.    }
  81.  
  82.    public static void drawEtchedRect(Graphics var0, int var1, int var2, int var3, int var4, Color var5, Color var6, Color var7, Color var8) {
  83.       Color var9 = var0.getColor();
  84.       var0.translate(var1, var2);
  85.       var0.setColor(var5);
  86.       var0.drawLine(0, 0, var3 - 1, 0);
  87.       var0.drawLine(0, 1, 0, var4 - 2);
  88.       var0.setColor(var6);
  89.       var0.drawLine(1, 1, var3 - 3, 1);
  90.       var0.drawLine(1, 2, 1, var4 - 3);
  91.       var0.setColor(var8);
  92.       var0.drawLine(var3 - 1, 0, var3 - 1, var4 - 1);
  93.       var0.drawLine(0, var4 - 1, var3 - 1, var4 - 1);
  94.       var0.setColor(var7);
  95.       var0.drawLine(var3 - 2, 1, var3 - 2, var4 - 3);
  96.       var0.drawLine(1, var4 - 2, var3 - 2, var4 - 2);
  97.       var0.translate(-var1, -var2);
  98.       var0.setColor(var9);
  99.    }
  100.  
  101.    public static void drawGroove(Graphics var0, int var1, int var2, int var3, int var4, Color var5, Color var6) {
  102.       Color var7 = var0.getColor();
  103.       var0.translate(var1, var2);
  104.       var0.setColor(var5);
  105.       var0.drawRect(0, 0, var3 - 2, var4 - 2);
  106.       var0.setColor(var6);
  107.       var0.drawLine(1, var4 - 3, 1, 1);
  108.       var0.drawLine(1, 1, var3 - 3, 1);
  109.       var0.drawLine(0, var4 - 1, var3 - 1, var4 - 1);
  110.       var0.drawLine(var3 - 1, var4 - 1, var3 - 1, 0);
  111.       var0.translate(-var1, -var2);
  112.       var0.setColor(var7);
  113.    }
  114.  
  115.    public static void drawLoweredBezel(Graphics var0, int var1, int var2, int var3, int var4, Color var5, Color var6, Color var7, Color var8) {
  116.       var0.setColor(var6);
  117.       var0.drawLine(0, 0, 0, var4 - 1);
  118.       var0.drawLine(1, 0, var3 - 2, 0);
  119.       var0.setColor(var5);
  120.       var0.drawLine(1, 1, 1, var4 - 2);
  121.       var0.drawLine(1, 1, var3 - 3, 1);
  122.       var0.setColor(var8);
  123.       var0.drawLine(0, var4 - 1, var3 - 1, var4 - 1);
  124.       var0.drawLine(var3 - 1, var4 - 1, var3 - 1, 0);
  125.       var0.setColor(var7);
  126.       var0.drawLine(1, var4 - 2, var3 - 2, var4 - 2);
  127.       var0.drawLine(var3 - 2, var4 - 2, var3 - 2, 1);
  128.    }
  129.  
  130.    public static void drawString(Graphics var0, String var1, int var2, int var3, int var4) {
  131.       int var7 = -1;
  132.       if (var2 != 0) {
  133.          char var6 = Character.toUpperCase((char)var2);
  134.          char var5 = Character.toLowerCase((char)var2);
  135.          int var9 = var1.indexOf(var6);
  136.          int var8 = var1.indexOf(var5);
  137.          if (var9 == -1) {
  138.             var7 = var8;
  139.          } else if (var8 == -1) {
  140.             var7 = var9;
  141.          } else {
  142.             var7 = var8 < var9 ? var8 : var9;
  143.          }
  144.       }
  145.  
  146.       var0.drawString(var1, var3, var4);
  147.       if (var7 != -1) {
  148.          FontMetrics var10 = var0.getFontMetrics();
  149.          int var11 = var3 + var10.stringWidth(var1.substring(0, var7));
  150.          int var13 = var10.charWidth(var1.charAt(var7));
  151.          byte var14 = 1;
  152.          var0.fillRect(var11, var4 + var10.getDescent() - 1, var13, var14);
  153.       }
  154.  
  155.    }
  156.  
  157.    public static Insets getEtchedInsets() {
  158.       return ETCHED_INSETS;
  159.    }
  160.  
  161.    public static Insets getGrooveInsets() {
  162.       return GROOVE_INSETS;
  163.    }
  164.  
  165.    public static Dimension getPreferredButtonSize(AbstractButton var0, int var1) {
  166.       if (((Container)var0).getComponentCount() > 0) {
  167.          return null;
  168.       } else {
  169.          Icon var2 = var0.getIcon();
  170.          String var3 = var0.getText();
  171.          Font var4 = ((Component)var0).getFont();
  172.          FontMetrics var5 = ((Component)var0).getToolkit().getFontMetrics(var4);
  173.          Rectangle var6 = new Rectangle();
  174.          Rectangle var7 = new Rectangle();
  175.          Rectangle var8 = new Rectangle(32767, 32767);
  176.          SwingUtilities.layoutCompoundLabel(var0, var5, var3, var2, var0.getVerticalAlignment(), var0.getHorizontalAlignment(), var0.getVerticalTextPosition(), var0.getHorizontalTextPosition(), var8, var6, var7, var3 == null ? 0 : var1);
  177.          Rectangle var9 = var6.union(var7);
  178.          Insets var10 = ((JComponent)var0).getInsets();
  179.          var9.width += var10.left + var10.right;
  180.          var9.height += var10.top + var10.bottom;
  181.          if (var9.width % 2 == 0) {
  182.             ++var9.width;
  183.          }
  184.  
  185.          if (var9.height % 2 == 0) {
  186.             ++var9.height;
  187.          }
  188.  
  189.          return var9.getSize();
  190.       }
  191.    }
  192.  
  193.    static boolean isLeftToRight(Component var0) {
  194.       return true;
  195.    }
  196. }
  197.